Upscaling, a.k.a. upconversion, enlarges the resolution of an image by increasing the number of vertical and horizontal scanline lines. Upscaling is an important problem for many post-production applications. For example, many of the previous TV shows and movies are in SD (Standard Definition) format. In order to play the SD movies in today's HD (High Definition) displays or TVs, it is desirable to convert the SD movies to HD format, which has larger resolution than the SD format. Another exemplary application for upscaling is for display controllers, which need an upscaling component to convert the input image size to the native resolution of the display.
During the upscaling process, because the size of the resulting image is larger than that of the original one, additional pixels have to be inserted into the image, resulting in potential visible artifacts. Traditionally, filters are applied before upscaling to remove the artifacts resulting from pixel insertion. However, in many conventional upscaling algorithms, filters are uniformly applied across the image plane regardless of the local image content such as edges, resulting in blur of details.
Therefore, a need exists for techniques for scaling images without producing unwanted artifacts. Furthermore, a need exists for techniques for upscaling images without loss of quality of the images.